🤖 fix: show redacted status for stripped tool outputs in shared transcripts#2368
🤖 fix: show redacted status for stripped tool outputs in shared transcripts#2368ibetitsmike wants to merge 3 commits intomainfrom
Conversation
…ripts When sharing via mux.md with 'Include tool output' unchecked, tool outputs are stripped. Previously this reset state to 'input-available', causing the viewer to show 'executing' with loading dots — misleading since the tool completed. Add 'output-redacted' as a third state variant. Only transcriptShare.ts emits it; live streaming is unaffected. The viewer now shows an EyeOff icon with 'redacted' status and italic 'Output excluded from shared transcript' text.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 210dc80075
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| : status === "redacted" | ||
| ? "Output excluded from shared transcript" | ||
| : "No output yet"} |
There was a problem hiding this comment.
Render redaction notice in Bash details for stripped output
For shared transcripts built with includeToolOutput=false, bash parts now arrive with status: "redacted" and no output payload, but this placeholder is only rendered inside the live-output block. That block is gated by showLiveOutput (which only opens for executing/live-output cases), so the new "Output excluded from shared transcript" branch is unreachable in the normal redacted path and users get no explanation that output was intentionally removed.
Useful? React with 👍 / 👎.
Summary
When sharing a chat transcript via mux.md with "Include tool output" unchecked, stripped tool calls showed as "executing" with animated loading dots — misleading since the tools actually completed. This adds a distinct
"output-redacted"state so these tools display as "redacted" with an eye-off icon instead.Background
The stripping pipeline removed tool output and set
state: "input-available", which the aggregator mapped to"executing". The mux.md viewer uses the same rendering pipeline, so shared transcripts looked like tools were still running.Implementation
"output-redacted"as a third variant to theDynamicToolPartdiscriminated union (Zod schema + TypeScript types)transcriptShare.tsnow emitsstate: "output-redacted"instead of"input-available"when stripping"output-redacted"→"redacted"display status"redacted"ToolStatus withEyeOfficon and muted colorGenericToolCallshows "Output excluded from shared transcript" instead of "Waiting for result"BashToolCallshows "Output excluded from shared transcript" instead of "No output yet"=== "output-available") safely ignore the new stateRisks
Low — the new state only appears in shared transcripts (
transcriptShare.tsis the sole emitter). Live streaming paths are unaffected. The Zod schema change is additive and backward-compatible.Generated with
mux• Model:anthropic:claude-opus-4-6• Thinking:off• Cost:$0.42